/**********************************************************************************************************************
 *
 * Project:    mGameEngine
 * File:       bone.h
 * Author:     karooolek
 * Created on: Nov 30, 2009
 *
 **********************************************************************************************************************/

#ifndef BONE_H_
#define BONE_H_

#include "../common.h"

namespace mGameEngine
{
namespace Graphics
{

/**
 * Mesh bone.
 * Bones create skeleton - a tree hierarchy of bones.
 */
struct Bone
{
    /**
     * Name.
     */
    String name;

    /**
     * Parent bone.
     */
    Bone *parent;

    /**
     * Sub-bones.
     */
    Vector<Bone *> bones;

    /**
     * Basic local transformation.
     */
    Matrix4x4 baseLocal;

    /**
     * Local transformation.
     */
    Matrix4x4 local;

    // TODO sthg more here...
};

}
}

#endif // BONE_H_
